1. Field of the Invention
The present invention relates generally to computer networks and, more specifically, to a multi-bridge LAN aggregated method and system for use in a computer network.
2. Description of the Related Art
Computer Networks
Generally, a computer network is a group of computers (or hosts) coupled to each other in a way that allows information to be exchanged between the computers. A local area network is a common example of a computer network. As its name implies, a LAN is a computer network which is organized within a given geographic area or locale, such as a college campus, a site of a corporation, a single building, etc. Various types of LANs include Ethernet, FDDI, and Token Ring. The LAN type refers to the physical medium and connections over which traffic (i.e., data) is carried using hardware specific to the LAN type. Data on LANs are carried in frames. As used herein, a frame refers to information which is transferred between a host and a bridge and/or between multiple bridges. Each frame includes, at least, a destination link layer address, a source link layer address, a frame type indication, and data. Each frame transmitted to a given LAN can be observed and/or received by every other computer or intermediate network device attached to that LAN.
A number of individual LANs may be coupled together with bridges to create a Bridged LAN. Bridges are intermediate network devices which can be used to interconnect LANs at the link layer to enable computers on one LAN to communicate with the computers of another LAN. Bridges forward frames, as necessary, from one LAN to another, using the destination link layer address of the frames. Bridges learn which LAN Segments to forward the frames on based on the source link layer addresses of the frames. In general, a Bridged LAN can connect many more computers together, and cover a much wider geographical range, than a single LAN. The term “LAN Segment” is often used to refer to a non-bridged LAN (a LAN that includes no bridges). Although a LAN may refer to a computer network organized in a given locale, as used herein, the term “LAN” is used to refer to a physical connection between one or more hosts (e.g., a LAN Segment). Also, as used herein, the term “host” refers to an end-station which is the source of, or destination of, frames transmitted over a network.
A router is an intermediate network device which also interconnects a number of LANs and/or other types of transmission media. For example, a router may be used to connect one Ethernet LAN (or Bridged LAN) to another, or to connect a FDDI LAN to a digital satellite link. Routers generally forward packets, which are essentially data coupled with header information which describes properties of the packet such as a source network layer address, a destination network layer address, and a packet length. The router forwards packets from one LAN to another, adding or removing frame information such as link layer addresses, as needed. A router knows which LAN to send the packets on based on information within the packet itself and a configuration table accessible by the router which correlates address information to LAN information. The term “switch” is sometimes used for an intermediate network device that combines some or all of the functions of both a router and a bridge.
Often, it is desirable to have redundant physical connections to a computer network (e.g., redundant physical connections to multiple intermediate network devices) to improve availability. Unfortunately, some current methods of providing redundancy are inefficient, limited in use, and create undesirable consequences.
Link Aggregation
FIG. 1 illustrates a host 102 coupled to a LAN 104 via a bridge 106 and LANs 108 and 109. Host 102 includes network interfaces 110 (e.g., S0 and S1), both of the same medium (e.g., Ethernet). Bridge 106 includes ports 114 (e.g., ports A0-A2). As seen in FIG. 1, two LANs are provided from host 102 to bridge 106, LAN 108 from network interface S0 to port A0, and LAN 109 from network interface S1 to port A1. In configuring host 102 and budge 106 in this manner, should one of the LANs 108-109 fail, another LAN is available to transport data.
Unfortunately, a consequence of utilizing multiple network interfaces 110 of host 102 to connect to LAN 104 is an increase in the number of IP addresses which host 102 is associated. This increase results from an internet protocol (IP) address being associated with each network interface of a host. Having multiple IP addresses associated with a single host is disadvantageous for a number of reasons. Initially, confusion results as to which IP addresses should be used to communicate with the host and management of the host is made more difficult. Further, use of multiple IP addresses for a host creates inefficiency due to the time it takes to determine the IP addresses associated with the host, and the space consumed in storing the multiple IP addresses.
Link aggregation (also known as trunking) alleviates some of the problems associated with multiple IP addresses by grouping LANs of the same medium type and speed together to form a link aggregation group, which is treated as a single link with the capacity of all the links combined. Commonly known protocols and software may be used to enable link aggregation on bridge 106 and host 102. For example, Link Aggregation Control Protocol (LACP) is a common link aggregation protocol defined in IEEE Std.802.3-2000, clause 43. Similarly, Port Aggregation Protocol (PAgP) is a well known protocol developed by Cisco Systems, Inc. and useful for dynamically aggregating redundant links connecting two or more devices.
With bridge 106 and host 102 configured for link aggregation, the multiple links between them are seen as one link, and consequently host 102 may be seen from a network as having one IP address, even though multiple interfaces of host 102 may be connected to the network. Additionally, aggregating the multiple links through link aggregation has the advantage of increasing the bandwidth between host 102 and bridge 106 to twice that of what the bandwidth would be without link aggregation. Further if one of the links between host 102 and bridge 106 were to fail, communication would resume on the remaining links. Unfortunately, although link aggregation provides a redundant coupling to bridge 106, no redundancy is provided between LAN 104 and bridge 106. Thus, if bridge 106 were to fail, host 102 would lose communication with LAN 104.
Another method of providing redundant connections between a host and a LAN is to couple a host to multiple bridges with multiple wires. FIG. 2 includes a host 202 coupled to LAN 204 via bridges 206-208 and LANs 210-212. Host 202 includes network interfaces 214 (e.g., S0 and S1). Bridges 206 and 208 includes ports 218 (e.g., ports A0-A1 and B0-B1, respectively). As can be seen from FIG. 2, redundancy is provided from host 202 to LAN 204, accomplished in part by bridges 206 and 208.
The advantages provided by the configuration illustrated in FIG. 2 include the utilization of redundant bridges. If bridge 206 where to fail, host 202 would still be able to communicate with LAN 204, and vice versa if bridge 208 were to fail. However, two IP addresses are associated with host 202, one for each network interface S0 and S1, which introduces the aforementioned disadvantages associated with managing hosts with multiple IP addresses. Link aggregation is not available in such a scenario because link aggregation does not support multi-bridge configurations with a single host. Link aggregation is traditionally only available between two devices (e.g., one bridge and one host). In addition, although two LANs are shown coupled to host 202, the bandwidth of host 202 is not automatically doubled. The use of LANs 210-212 is determined by the host IP address chosen, and thus may be under the control of neither host 102 nor bridges 206-208.
Another traditional implementation of providing redundant physical connections to a network involves stacking multiple bridges together and configuring the multiple bridges to appear as one bridge. In order to accomplish this, however, the bridges must be configured to communicate with each other for sharing and learning network and frame information. Although this configuration may be a reasonable solution for providing redundancy if the bridges are in close proximity to each other (e.g., stacked on top of or next to each other) and the necessary cabling and configuration is provided, it has many pitfalls. If one of the bridges and or cables connecting the bridges were to fail, the network connection would be lost, since the bridges could no longer “learn” from each other (e.g., learning link layer addresses from each other). Additionally, such a configuration is not desirable if the bridges are to be at arms length from each other and independent of each other (i.e., not have to depend on other bridges for learning network and address information).